This invention relates, in general, to processing within a computing environment, and in particular, to facilitating processing associated with input/output (I/O) adapters.
I/O adapters, such as remote direct memory access (RDMA)-capable adapters, communicate with one another to have certain operations performed. In one example, a sending RDMA-capable adapter forwards an RDMA write operation to a remote receiving RDMA-capable adapter. Responsive to receiving the RDMA write operation, the receiving RDMA adapter acknowledges the write operation. This acknowledgment, however, only guarantees reception of the request at the remote adapter. It does not guarantee that the remote adapter has completed the memory write operation nor that the written data is visible to the remote processor.
Applications that use RDMA write operations to communicate often need to confirm that the data is available in the remote memory prior to performing certain other operations. Thus, an RDMA read operation is forwarded from the sending RDMA adapter to the remote adapter in order to perform a memory read operation to confirm that the data is available in memory (visible to the remote processor). If the data is available, then the remote adapter forwards another acknowledgment (the RDMA read data) to the sending adapter. The requirement of the remotely initiated read to confirm that the data is available and the sending of another acknowledgment increases latency among the adapters.